#include<stdio.h>
#include<stdbool.h>
#include<stdlib.h>
#include<math.h>
//typedef struct {
//int* a;
//int  head;
//int  tail;
//int  k;
//
//} MyCircularQueue;
//
//bool myCircularQueueIsEmpty(MyCircularQueue* obj);
//bool myCircularQueueIsFull(MyCircularQueue* obj);
//MyCircularQueue* myCircularQueueCreate(int k) {
//    MyCircularQueue* obj = (MyCircularQueue*)malloc(sizeof(MyCircularQueue));
//    obj->a = (int*)malloc((k + 1) * sizeof(int));
//    obj->k = k;
//    obj->head = 0;
//    obj->tail = 0;
//    return obj;
//}
//
//bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {
//
//    if (myCircularQueueIsFull(obj))
//    {
//        return false;
//    }
//    else
//    {
//        obj->a[obj->tail] = value;
//        if (obj->tail == obj->k)
//        {
//            obj->tail = 0;
//        }
//        else
//        {
//            obj->tail++;
//        }
//    }
//    return true;
//}
//
//bool myCircularQueueDeQueue(MyCircularQueue* obj) {
//    if (myCircularQueueIsEmpty(obj))
//    {
//        return false;
//    }
//    else
//    {
//        if (obj->head == obj->k)
//        {
//            obj->head = 0;
//        }
//        else
//        {
//            obj->head++;
//        }
//    }
//    return true;
//}
//
//int myCircularQueueFront(MyCircularQueue* obj) {
//    if (myCircularQueueIsEmpty(obj))
//    {
//        return -1;
//    }
//    else
//    {
//        return obj->a[obj->head];
//    }
//}
//
//int myCircularQueueRear(MyCircularQueue* obj) {
//    if (myCircularQueueIsEmpty(obj))
//    {
//        return -1;
//    }
//    else
//    {
//        if (obj->tail == 0)
//        {
//            return obj->a[obj->k];
//        }
//        else
//        {
//            return obj->a[obj->tail - 1];
//        }
//    }
//}
//bool myCircularQueueIsEmpty(MyCircularQueue* obj) {
//
//    if (obj->head ==obj->tail)
//    {
//        return true;
//    }
//    else
//    {
//        return false;
//    }
//}
//
//bool myCircularQueueIsFull(MyCircularQueue* obj) {
//    if (obj->tail == obj->k && obj->head == 0)
//    {
//        return true;
//    }
//    else if ((obj->tail + 1) == obj->head)
//    {
//        return true;
//    }
//    else
//    {
//        return false;
//    }
//
//}
//
//void myCircularQueueFree(MyCircularQueue* obj) {
//    free(obj->a);
//    free(obj);
//}
//int main()
//{
//    MyCircularQueue* p = myCircularQueueCreate(3);
//    myCircularQueueEnQueue(p, 1);
//     myCircularQueueEnQueue(p, 2);
//    myCircularQueueEnQueue(p, 3);
//    myCircularQueueEnQueue(p, 4);
//      int a=  myCircularQueueRear(p);
//      printf("%d", a);
//    return 0;
//}
// 
Adjustdown(int *a,size_t size,size_t root)
{
	swap();
	size--;
	int praent = root;
	if (left>size )
	{
		left = praent * 2 + 1;
		right = p * 2 + 1;
		if()
		if (left < right)
		{
			swap(left, praent);
			praent = left;
			eles
			{
				swap(right,praent)
				parent = right;
		}
			
	}

}
int main()
{
	char arr[5][4] = { 0 };
	char(*q)[4] = arr;
	printf("%p\n", q);
	printf("%p\n", &arr);
	printf("%p\n", &arr + 1);
	printf("%p\n", q + 1);
	return 0;
}